The present invention relates to a method and system of coding information, and more particularly, but not exclusively, relates to a coding technique which is based on the quantization of a sample of vectors a number of times with different codes or codebook arrangements.
A variety of coding schemes have been proposed to improve data transmission and storage for signal processing systems. These systems have a broad range of applications including telecommunications, digital imaging and audio recording devices, digital television, and multimedia computing to name a few. Generally, there is a trade-off between the degree of distortion associated with a particular coding scheme and the degree of complexity of the scheme. Thus, there is an ongoing need for coding techniques that minimize both distortion and complexity.
The present invention satisfies this need and provides other significant benefits and advantages.
The present invention relates to a system and method of coding information. Various aspects of the invention are novel, nonobvious, and provide various advantages. The following summarizes various aspects of the invention, but the full scope and nature of the invention can only be determined from the claims appended hereto.
One form of the present invention is a technique to encode a group of vectors by quantizing the group with each of a number of different codes or codebooks and selecting the quantization results which are most favorable. Data may be transmitted corresponding to the most favorable results to represent the vectors.
In another form, a method includes providing several vectors for encoding. Each of the vectors is quantized with a number of different codebooks to generate a corresponding number of codeword sets with the encoder. The codeword sets are each representative of the vectors. Each of the codeword sets is evaluated by determining a corresponding performance characteristic. One of the codeword sets is selected to encode the vectors based on this evaluation. The performance characteristic may be determined as a function of a number of codewords in the corresponding one of the codeword sets and may correspond to a measure of distortion.
Still another form includes providing an encoder with a number of different codebooks and establishing a group of a number of vectors. This form includes quantizing each of the vectors of the group with each of the codebooks to provide a corresponding number of different codeword sets each representative of the group. Distortion of each of the codeword sets is evaluated. The codeword set that has less distortion than any other of the codeword sets is selected to encode the group.
In a further alternative form, a number of vectors are provided to an encoder for processing as a group with an established order. A number of codeword sets are generated that are each representative of the group. The sets each correspond to quantization of the vectors by a different sequential arrangement of codebooks relative to the established order of the group. The codeword sets are each evaluated by determining a corresponding performance characteristic. One of the codeword sets is selected to encode the group based on this evaluation. The performance characteristic may be determined as a function of the codewords in one or more of the sets and may correspond to a measure of distortion.
These and other forms of the present invention may also include transmitting data corresponding to one of the codeword sets with the encoder over a channel to a decoder and decoding the data to provide at least one signal representative of the vectors. This transmitted data may include a value representing one of the codebooks used to generate the one of the codeword sets corresponding to the transmitted data. The present invention may also include empirically determining a property corresponding to a distribution function of the vectors or quantizing each of the codeword sets with a different sequence of codes or codebooks relative to an established order of the vectors. Also, the codebooks may number at least as many as the number of vectors. Preferably, the different codebooks number at least two. More preferably, the different codebooks number at least four.
In an additional form, the present invention includes the combination of an encoder coupled to a decoder by a communication channel. The encoder includes a number of different codebooks, a number of quantizers, a comparator, and a multiplexor. The quantizers each receive a common set of vectors for quantization with a different one of the codebooks to provide a corresponding codeword set representative of the set of vectors. The quantizers each provide one of a number of performance signals characterizing distortion of the corresponding codeword set. The comparator responds to the performance signals to generate a selection signal corresponding to the quantizer providing the codeword set with the lowest distortion relative to the other codeword sets. The multiplexor responds to the selection signal to transmit data to the decoder along the communication channel which is representative of the corresponding codeword set with the lowest distortion. The performance signals may correspond to a level of distortion of the corresponding codeword set. The encoder may empirically determine a property of the set of vectors corresponding to a distribution function. Furthermore, each quantizer may apply one of a number of different sequential arrangements of the codebooks to the set of vectors relative to a predetermined order of the vectors to provide the corresponding codeword set.
Still another form of the present invention includes an encoder with a number of different codebooks for encoding a sample of several vectors. The encoder includes a first means for quantizing each of the vectors with each of the codebooks to generate a corresponding number of codeword sets each representative of the vectors and a second means for providing an evaluation of each of the codewords sets by determining a corresponding performance characteristic for each of the codeword sets. Also included is a third means for selecting one of the codewords sets for transmission by the encoder based on the evaluation.
Yet another form of the present invention is an encoder having an input configured to receive vector data and an output for transmitting encoded data representative of the vector data. The encoder includes codebook data corresponding to a number of different codebooks and is responsive to the vector data to define a group of vectors from the vector data and quantize the group with each of the different codebooks to provide a number of codeword sets each representative of the group. The encoder calculates distortion of each of the codeword sets and provides the encoded data to the output corresponding to a member of the codeword sets having less distortion than any other member of the codeword sets. This combination may further include a communication channel coupled to the output of the encoder to receive the encoded data and a decoder coupled to the communication channel responsive to the encoded data to decode the encoded data and output at least one signal representative of the vectors. The decoder may include the codebook data. The encoder may be configured to empirically determine a property of the vectors of the group corresponding to a distribution function and the codeword sets may correspond to a different sequential arrangement of the codebooks relative to a predetermined order of the vectors of the group.
In further forms of the present invention, any of the above-indicated forms may be arranged to encode one or more samples comprised of a number of scalar values either in addition to or in lieu of vectors. Also, further forms may include a technique to determine a code class for use in various coding schemes. This technique may include a process to determine a code class based on a number of training samples and/or an initial code class determination process based on application of a split constant method. An improved method of generating a lattice-based quantizer or quantization process is provided in yet another form of the present invention.
Accordingly, one object of the present invention is to provide an improved coding system.
Another object of the present invention is to provide an improved coding method.
Further objects, features, forms, advantages, benefits, and aspects of the present invention shall become apparent from the drawings and description provided herein.